package com.lw.algorithm;

/**
 * @Author LW
 * @2021/12/17 13:36
 */
public class InertSort {
    public static void main(String[] args) {
        int arrays[] = {1,3,5,2,4,6,8,7};
        // 临时变量
        int temp;

        //外层循环是排序的趟数（从1开始，因为将第0位看成是有序数据）
        for (int i = 1; i < arrays.length; i++) {
            temp = arrays[i];

            //如果前一位（已经排序的数据）比当前数据大，那么久进入循环比较
            int j = i - 1;

            while (j >= 0 && arrays[j] > temp) {
                // 往后退一个位置，让当前数据与之前前位进行比较
                arrays[j+1] = arrays[j];
                //不断往前，知道退出循环
                j--;
            }
            //退出了循环说明找到了合适的位置了，将当前数据插入合适的位置中
            arrays[j+1] = temp;

        }
    }
}
